\hypertarget{classCPulseAudioIO}{
\section{\-C\-Pulse\-Audio\-I\-O \-Class \-Reference}
\label{classCPulseAudioIO}\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}
}


{\ttfamily \#include $<$pulse\-\_\-audio\-\_\-io.\-h$>$}

\-Inheritance diagram for \-C\-Pulse\-Audio\-I\-O\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCPulseAudioIO}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCPulseAudioIO_ab24c6486ad984144bcf9dc87186ce77d}{\-C\-Pulse\-Audio\-I\-O} (\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} p\-Action, unsigned int p\-Channels)
\item 
\hyperlink{classCPulseAudioIO_a51a0a796bf98599449617f1e174675bb}{\-C\-Pulse\-Audio\-I\-O} (\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} p\-Action, unsigned int p\-Channels, \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} p\-Stream\-Info)
\item 
\hyperlink{classCPulseAudioIO_a2ae8892c632b958a67a3a4ff84007332}{\-C\-Pulse\-Audio\-I\-O} (\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} p\-Action)
\item 
virtual \hyperlink{classCPulseAudioIO_ad6dce07cb44567eaf842d69ab3f56300}{$\sim$\-C\-Pulse\-Audio\-I\-O} ()
\item 
virtual int \hyperlink{classCPulseAudioIO_a97ada1fd9b0e5e36344699ece7ab912d}{init} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)
\item 
virtual int \hyperlink{classCPulseAudioIO_a41f9f94d6940a71fde5ce02496352a27}{destroy} ()
\item 
virtual int \hyperlink{classCPulseAudioIO_a53f27db815744617a085f466693763ed}{read} (void $\ast$$\ast$p\-Data, \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Timeout=1000)
\item 
virtual int \hyperlink{classCPulseAudioIO_aaadbf39f26d049651660973359ed9d31}{write} (void $\ast$p\-Data, const \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Length)
\item 
virtual \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCPulseAudioIO_aca9462dd9658c52e384d312606559a8d}{get\-Stream\-Info} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24e}{\-E\-Init\-Error} \{ \hyperlink{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eacbdf5e234b007e77a2336265232b9db6}{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R} =  0, 
\hyperlink{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eab8b38c7cdb04cfb8d7aa1758bb2c2f69}{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E} =  1, 
\hyperlink{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24ea84b61e26516caaf4bb8b0b6958341572}{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R} =  2, 
\hyperlink{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eaea14a43be6e74cadf63111c72cace28f}{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R} =  3
 \}
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCPulseAudioIO_aaeb7261d1c84694292a05a4f7165854c}{\-C\-Pulse\-Audio\-I\-O} (const \hyperlink{classCPulseAudioIO}{\-C\-Pulse\-Audio\-I\-O} \&)
\item 
\hyperlink{classCPulseAudioIO}{\-C\-Pulse\-Audio\-I\-O} \& \hyperlink{classCPulseAudioIO_a0d802a47c61411acb8fb351da56eb959}{operator=} (const \hyperlink{classCPulseAudioIO}{\-C\-Pulse\-Audio\-I\-O} \&)
\item 
bool \hyperlink{classCPulseAudioIO_a89ccafd6befb04a2c5eb0fd4d9759aad}{init\-Playback} ()
\item 
bool \hyperlink{classCPulseAudioIO_a3e44d30d8d8c2cf456e2d3c51ac92b66}{init\-Capture} ()
\item 
unsigned int \hyperlink{classCPulseAudioIO_a0517bc1d6bc43e0b80eeafbb806be42c}{get\-Byte\-Per\-Sample} ()
\item 
bool \hyperlink{classCPulseAudioIO_ac6f486fc8d06afc078acdd756be90c44}{get\-P\-A\-Sample\-Specs\-From\-Stream\-Info} (pa\-\_\-sample\-\_\-spec \&p\-Sample\-Spec, bool p\-For\-Capture)
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24e}{\-E\-Init\-Error} \hyperlink{classCPulseAudioIO_ad7cffabc03bbc6c71b0b9cbd7e59e8e2}{m\-Error}
\item 
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \hyperlink{classCPulseAudioIO_a68b4534614245107afe37dd8fadb6bf2}{m\-Action}
\item 
unsigned int \hyperlink{classCPulseAudioIO_a6925cb7f0e52cd1d4fc3fb562d909e52}{m\-Playback\-Channels}
\item 
pa\-\_\-simple $\ast$ \hyperlink{classCPulseAudioIO_acc6b4fbe405b9a513ee0efef0f864e2f}{m\-Playback\-Handle}
\item 
unsigned int \hyperlink{classCPulseAudioIO_a8467595676e4ffa0fd84a8de7687b1b0}{m\-Capture\-Channels}
\item 
pa\-\_\-simple $\ast$ \hyperlink{classCPulseAudioIO_a476360509aac6aca6f534accbd3e5d4b}{m\-Capture\-Handle}
\item 
char $\ast$ \hyperlink{classCPulseAudioIO_a55b5e65d0e69b684ab6b2751afc4167c}{m\-Capture\-Buffer}
\item 
\hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classCPulseAudioIO_aeed876c7ab0e2e622964b825264e5619}{m\-Stream\-Info}
\item 
unsigned int \hyperlink{classCPulseAudioIO_a61853857bbd1a6bb31251f90f44b16c2}{m\-Byte\-Per\-Sample}
\item 
bool \hyperlink{classCPulseAudioIO_abd6031729829df6ef5fdea13f6612be2}{m\-Do\-Playback}
\item 
bool \hyperlink{classCPulseAudioIO_af7d3fbd218e4819dc65579328f80335c}{m\-Do\-Capture}
\item 
const char $\ast$ \hyperlink{classCPulseAudioIO_a037c18f76fe11bf5c741eefafb71af53}{m\-Capture\-Source}
\item 
const char $\ast$ \hyperlink{classCPulseAudioIO_afbe2c62f1f8693deb97d56444529e5da}{m\-Playback\-Sink}
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
static const std\-::string \hyperlink{classCPulseAudioIO_a6d2d16c1ca671017a7029403cca4c115}{s\-Ini\-Section\-Name} = \char`\"{}\-P\-U\-L\-S\-E\-\_\-\-I\-O\char`\"{}
\item 
static const std\-::string \hyperlink{classCPulseAudioIO_af15ca89d1bcef2c6d9e2d75211a84b30}{s\-Conf\-Playback\-Sink} = \char`\"{}\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-S\-I\-N\-K\char`\"{}
\item 
static const std\-::string \hyperlink{classCPulseAudioIO_a62de8cacc98e09140cc329c0ba7e0996}{s\-Conf\-Capture\-Source} = \char`\"{}\-C\-A\-P\-T\-U\-R\-E\-\_\-\-S\-O\-U\-R\-C\-E\char`\"{}
\end{DoxyCompactItemize}


\subsection{\-Member \-Enumeration \-Documentation}
\hypertarget{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24e}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-E\-Init\-Error@{\-E\-Init\-Error}}
\index{\-E\-Init\-Error@{\-E\-Init\-Error}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{\-E\-Init\-Error}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \-C\-Pulse\-Audio\-I\-O\-::\-E\-Init\-Error}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24e}
\begin{Desc}
\item[\-Enumerator\-: ]\par
\begin{description}
\index{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R}}\item[{\em 
\hypertarget{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eacbdf5e234b007e77a2336265232b9db6}{
\-I\-N\-I\-T\-\_\-\-N\-O\-\_\-\-E\-R\-R\-O\-R}
\label{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eacbdf5e234b007e77a2336265232b9db6}
}]\index{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E@{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E@{\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E}}\item[{\em 
\hypertarget{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eab8b38c7cdb04cfb8d7aa1758bb2c2f69}{
\-I\-N\-I\-T\-\_\-\-F\-A\-I\-L\-U\-R\-E}
\label{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eab8b38c7cdb04cfb8d7aa1758bb2c2f69}
}]\index{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R}}\item[{\em 
\hypertarget{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24ea84b61e26516caaf4bb8b0b6958341572}{
\-I\-N\-I\-T\-\_\-\-C\-A\-P\-T\-U\-R\-E\-\_\-\-E\-R\-R\-O\-R}
\label{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24ea84b61e26516caaf4bb8b0b6958341572}
}]\index{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R@{\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R}}\item[{\em 
\hypertarget{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eaea14a43be6e74cadf63111c72cace28f}{
\-I\-N\-I\-T\-\_\-\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-E\-R\-R\-O\-R}
\label{classCPulseAudioIO_a36e568f989dec5ee9ec49983f3c1f24eaea14a43be6e74cadf63111c72cace28f}
}]\end{description}
\end{Desc}



\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCPulseAudioIO_ab24c6486ad984144bcf9dc87186ce77d}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{\-C\-Pulse\-Audio\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Pulse\-Audio\-I\-O\-::\-C\-Pulse\-Audio\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-E\-Action}}]{p\-Action, }
\item[{unsigned int}]{p\-Channels}
\end{DoxyParamCaption}
)}}
\label{classCPulseAudioIO_ab24c6486ad984144bcf9dc87186ce77d}
\hypertarget{classCPulseAudioIO_a51a0a796bf98599449617f1e174675bb}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{\-C\-Pulse\-Audio\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Pulse\-Audio\-I\-O\-::\-C\-Pulse\-Audio\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-E\-Action}}]{p\-Action, }
\item[{unsigned int}]{p\-Channels, }
\item[{{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info}}]{p\-Stream\-Info}
\end{DoxyParamCaption}
)}}
\label{classCPulseAudioIO_a51a0a796bf98599449617f1e174675bb}
\hypertarget{classCPulseAudioIO_a2ae8892c632b958a67a3a4ff84007332}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{\-C\-Pulse\-Audio\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Pulse\-Audio\-I\-O\-::\-C\-Pulse\-Audio\-I\-O (
\begin{DoxyParamCaption}
\item[{{\bf \-E\-Action}}]{p\-Action}
\end{DoxyParamCaption}
)}}
\label{classCPulseAudioIO_a2ae8892c632b958a67a3a4ff84007332}
\hypertarget{classCPulseAudioIO_ad6dce07cb44567eaf842d69ab3f56300}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!$\sim$\-C\-Pulse\-Audio\-I\-O@{$\sim$\-C\-Pulse\-Audio\-I\-O}}
\index{$\sim$\-C\-Pulse\-Audio\-I\-O@{$\sim$\-C\-Pulse\-Audio\-I\-O}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{$\sim$\-C\-Pulse\-Audio\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Pulse\-Audio\-I\-O\-::$\sim$\-C\-Pulse\-Audio\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCPulseAudioIO_ad6dce07cb44567eaf842d69ab3f56300}
\hypertarget{classCPulseAudioIO_aaeb7261d1c84694292a05a4f7165854c}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}}
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{\-C\-Pulse\-Audio\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Pulse\-Audio\-I\-O\-::\-C\-Pulse\-Audio\-I\-O (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Pulse\-Audio\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_aaeb7261d1c84694292a05a4f7165854c}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCPulseAudioIO_a41f9f94d6940a71fde5ce02496352a27}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!destroy@{destroy}}
\index{destroy@{destroy}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Pulse\-Audio\-I\-O\-::destroy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCPulseAudioIO_a41f9f94d6940a71fde5ce02496352a27}


\-Implements \hyperlink{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}{\-I\-Sample\-I\-O}.

\hypertarget{classCPulseAudioIO_a0517bc1d6bc43e0b80eeafbb806be42c}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!get\-Byte\-Per\-Sample@{get\-Byte\-Per\-Sample}}
\index{get\-Byte\-Per\-Sample@{get\-Byte\-Per\-Sample}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{get\-Byte\-Per\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Pulse\-Audio\-I\-O\-::get\-Byte\-Per\-Sample (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a0517bc1d6bc43e0b80eeafbb806be42c}
\hypertarget{classCPulseAudioIO_ac6f486fc8d06afc078acdd756be90c44}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!get\-P\-A\-Sample\-Specs\-From\-Stream\-Info@{get\-P\-A\-Sample\-Specs\-From\-Stream\-Info}}
\index{get\-P\-A\-Sample\-Specs\-From\-Stream\-Info@{get\-P\-A\-Sample\-Specs\-From\-Stream\-Info}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{get\-P\-A\-Sample\-Specs\-From\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Pulse\-Audio\-I\-O\-::get\-P\-A\-Sample\-Specs\-From\-Stream\-Info (
\begin{DoxyParamCaption}
\item[{pa\-\_\-sample\-\_\-spec \&}]{p\-Sample\-Spec, }
\item[{bool}]{p\-For\-Capture}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_ac6f486fc8d06afc078acdd756be90c44}
\-Save all sample informations to p\-Sample\-Spec. \-This includes\-: pa\-\_\-sample\-\_\-format\-\_\-t format -\/ \-The sample format. uint32\-\_\-t rate -\/ \-The sample rate. uint8\-\_\-t channels -\/ \-Audio channels.


\begin{DoxyParams}{\-Parameters}
{\em p\-Sample\-Spec} & \-For storing the sample specifications \\
\hline
{\em p\-For\-Capture} & \-If true then m\-Capture\-Channels will be saved to channels. \-Otherwise m\-Playback\-Channels \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
\-True for successful execution 
\end{DoxyReturn}
\hypertarget{classCPulseAudioIO_aca9462dd9658c52e384d312606559a8d}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!get\-Stream\-Info@{get\-Stream\-Info}}
\index{get\-Stream\-Info@{get\-Stream\-Info}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{get\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} \-C\-Pulse\-Audio\-I\-O\-::get\-Stream\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCPulseAudioIO_aca9462dd9658c52e384d312606559a8d}


\-Implements \hyperlink{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}{\-I\-Sample\-I\-O}.

\hypertarget{classCPulseAudioIO_a97ada1fd9b0e5e36344699ece7ab912d}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!init@{init}}
\index{init@{init}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Pulse\-Audio\-I\-O\-::init (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCPulseAudioIO_a97ada1fd9b0e5e36344699ece7ab912d}
\begin{DoxyNote}{\-Note}
\-The instance of the properties reader will be freed (delete) by the main programm and is not allowed by the deconstructor of an inherit \-I\-O class.
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Config} & pointer to the properties reader \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 on success, -\/1 otherwise 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}{\-I\-Sample\-I\-O}.

\hypertarget{classCPulseAudioIO_a3e44d30d8d8c2cf456e2d3c51ac92b66}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!init\-Capture@{init\-Capture}}
\index{init\-Capture@{init\-Capture}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{init\-Capture}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Pulse\-Audio\-I\-O\-::init\-Capture (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a3e44d30d8d8c2cf456e2d3c51ac92b66}
\hypertarget{classCPulseAudioIO_a89ccafd6befb04a2c5eb0fd4d9759aad}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!init\-Playback@{init\-Playback}}
\index{init\-Playback@{init\-Playback}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{init\-Playback}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Pulse\-Audio\-I\-O\-::init\-Playback (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a89ccafd6befb04a2c5eb0fd4d9759aad}
\hypertarget{classCPulseAudioIO_a0d802a47c61411acb8fb351da56eb959}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!operator=@{operator=}}
\index{operator=@{operator=}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Pulse\-Audio\-I\-O}\& \-C\-Pulse\-Audio\-I\-O\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Pulse\-Audio\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a0d802a47c61411acb8fb351da56eb959}
\hypertarget{classCPulseAudioIO_a53f27db815744617a085f466693763ed}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!read@{read}}
\index{read@{read}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Pulse\-Audio\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{void $\ast$$\ast$}]{p\-Data, }
\item[{{\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Timeout = {\ttfamily 1000}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCPulseAudioIO_a53f27db815744617a085f466693763ed}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Array of bytes, read from media. \-The buffer for data will be provided by the read method. \-Therefore a void$\ast$$\ast$ and not a void$\ast$ is needed. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes read, 0 for \-E\-O\-F and -\/1 for a timeout or an error 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_a5843d1feda7bfffb86dd260a08f5516d}{\-I\-Sample\-I\-O}.

\hypertarget{classCPulseAudioIO_aaadbf39f26d049651660973359ed9d31}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!write@{write}}
\index{write@{write}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Pulse\-Audio\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{const {\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCPulseAudioIO_aaadbf39f26d049651660973359ed9d31}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Address of the \-Buffer which will be written to the media. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
{\em p\-Length} & \-Length/\-Size of the buffer (unit\-: byte) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes written or -\/1 for an error 
\end{DoxyReturn}


\-Implements \hyperlink{classISampleIO_ae2026aece7114980b715076b45b906f9}{\-I\-Sample\-I\-O}.



\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCPulseAudioIO_a68b4534614245107afe37dd8fadb6bf2}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Action@{m\-Action}}
\index{m\-Action@{m\-Action}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Action}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-E\-Action} {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Action}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a68b4534614245107afe37dd8fadb6bf2}
\hypertarget{classCPulseAudioIO_a61853857bbd1a6bb31251f90f44b16c2}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Byte\-Per\-Sample@{m\-Byte\-Per\-Sample}}
\index{m\-Byte\-Per\-Sample@{m\-Byte\-Per\-Sample}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Byte\-Per\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Byte\-Per\-Sample}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a61853857bbd1a6bb31251f90f44b16c2}
\hypertarget{classCPulseAudioIO_a55b5e65d0e69b684ab6b2751afc4167c}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Capture\-Buffer@{m\-Capture\-Buffer}}
\index{m\-Capture\-Buffer@{m\-Capture\-Buffer}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Capture\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Capture\-Buffer}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a55b5e65d0e69b684ab6b2751afc4167c}
\hypertarget{classCPulseAudioIO_a8467595676e4ffa0fd84a8de7687b1b0}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Capture\-Channels@{m\-Capture\-Channels}}
\index{m\-Capture\-Channels@{m\-Capture\-Channels}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Capture\-Channels}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Capture\-Channels}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a8467595676e4ffa0fd84a8de7687b1b0}
\hypertarget{classCPulseAudioIO_a476360509aac6aca6f534accbd3e5d4b}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Capture\-Handle@{m\-Capture\-Handle}}
\index{m\-Capture\-Handle@{m\-Capture\-Handle}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Capture\-Handle}]{\setlength{\rightskip}{0pt plus 5cm}pa\-\_\-simple$\ast$ {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Capture\-Handle}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a476360509aac6aca6f534accbd3e5d4b}
\hypertarget{classCPulseAudioIO_a037c18f76fe11bf5c741eefafb71af53}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Capture\-Source@{m\-Capture\-Source}}
\index{m\-Capture\-Source@{m\-Capture\-Source}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Capture\-Source}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Capture\-Source}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a037c18f76fe11bf5c741eefafb71af53}
\hypertarget{classCPulseAudioIO_af7d3fbd218e4819dc65579328f80335c}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Do\-Capture@{m\-Do\-Capture}}
\index{m\-Do\-Capture@{m\-Do\-Capture}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Do\-Capture}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Do\-Capture}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_af7d3fbd218e4819dc65579328f80335c}
\hypertarget{classCPulseAudioIO_abd6031729829df6ef5fdea13f6612be2}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Do\-Playback@{m\-Do\-Playback}}
\index{m\-Do\-Playback@{m\-Do\-Playback}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Do\-Playback}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Do\-Playback}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_abd6031729829df6ef5fdea13f6612be2}
\hypertarget{classCPulseAudioIO_ad7cffabc03bbc6c71b0b9cbd7e59e8e2}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Error@{m\-Error}}
\index{m\-Error@{m\-Error}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Error}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-E\-Init\-Error} {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Error}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_ad7cffabc03bbc6c71b0b9cbd7e59e8e2}
\hypertarget{classCPulseAudioIO_a6925cb7f0e52cd1d4fc3fb562d909e52}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Playback\-Channels@{m\-Playback\-Channels}}
\index{m\-Playback\-Channels@{m\-Playback\-Channels}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Playback\-Channels}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Playback\-Channels}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_a6925cb7f0e52cd1d4fc3fb562d909e52}
\hypertarget{classCPulseAudioIO_acc6b4fbe405b9a513ee0efef0f864e2f}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Playback\-Handle@{m\-Playback\-Handle}}
\index{m\-Playback\-Handle@{m\-Playback\-Handle}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Playback\-Handle}]{\setlength{\rightskip}{0pt plus 5cm}pa\-\_\-simple$\ast$ {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Playback\-Handle}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_acc6b4fbe405b9a513ee0efef0f864e2f}
\hypertarget{classCPulseAudioIO_afbe2c62f1f8693deb97d56444529e5da}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Playback\-Sink@{m\-Playback\-Sink}}
\index{m\-Playback\-Sink@{m\-Playback\-Sink}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Playback\-Sink}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Playback\-Sink}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_afbe2c62f1f8693deb97d56444529e5da}
\hypertarget{classCPulseAudioIO_aeed876c7ab0e2e622964b825264e5619}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!m\-Stream\-Info@{m\-Stream\-Info}}
\index{m\-Stream\-Info@{m\-Stream\-Info}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{m\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} {\bf \-C\-Pulse\-Audio\-I\-O\-::m\-Stream\-Info}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCPulseAudioIO_aeed876c7ab0e2e622964b825264e5619}
\hypertarget{classCPulseAudioIO_a62de8cacc98e09140cc329c0ba7e0996}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!s\-Conf\-Capture\-Source@{s\-Conf\-Capture\-Source}}
\index{s\-Conf\-Capture\-Source@{s\-Conf\-Capture\-Source}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{s\-Conf\-Capture\-Source}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Pulse\-Audio\-I\-O\-::s\-Conf\-Capture\-Source} = \char`\"{}\-C\-A\-P\-T\-U\-R\-E\-\_\-\-S\-O\-U\-R\-C\-E\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCPulseAudioIO_a62de8cacc98e09140cc329c0ba7e0996}
\hypertarget{classCPulseAudioIO_af15ca89d1bcef2c6d9e2d75211a84b30}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!s\-Conf\-Playback\-Sink@{s\-Conf\-Playback\-Sink}}
\index{s\-Conf\-Playback\-Sink@{s\-Conf\-Playback\-Sink}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{s\-Conf\-Playback\-Sink}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Pulse\-Audio\-I\-O\-::s\-Conf\-Playback\-Sink} = \char`\"{}\-P\-L\-A\-Y\-B\-A\-C\-K\-\_\-\-S\-I\-N\-K\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCPulseAudioIO_af15ca89d1bcef2c6d9e2d75211a84b30}
\hypertarget{classCPulseAudioIO_a6d2d16c1ca671017a7029403cca4c115}{
\index{\-C\-Pulse\-Audio\-I\-O@{\-C\-Pulse\-Audio\-I\-O}!s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}}
\index{s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}!CPulseAudioIO@{\-C\-Pulse\-Audio\-I\-O}}
\subsubsection[{s\-Ini\-Section\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Pulse\-Audio\-I\-O\-::s\-Ini\-Section\-Name} = \char`\"{}\-P\-U\-L\-S\-E\-\_\-\-I\-O\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCPulseAudioIO_a6d2d16c1ca671017a7029403cca4c115}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{pulse__audio__io_8h}{pulse\-\_\-audio\-\_\-io.\-h}\item 
\hyperlink{pulse__audio__io_8cxx}{pulse\-\_\-audio\-\_\-io.\-cxx}\end{DoxyCompactItemize}
